package com.aliyun.messagemgt.dto.query;

import com.aliyun.messagemgt.common.dto.base.PageQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 消息模板查询
 * @author byp
 * @date 2020/8/11
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "TemplateQuery", description = "消息模板查询入参")
@Data
@Accessors(chain = true)
public class MessageTemplateQuery extends PageQuery {

    @ApiModelProperty(value = "消息模板主键id", name = "id")
    private Long templateId;



    @ApiModelProperty(value = "消息模板编码",name = "templateCode")
    private String templateCode;
    @ApiModelProperty(value = "租户code", name = "tenantCode")
    private String tenantCode;

    @ApiModelProperty(value = "消息模板名称", name = "templateName")
    private String templateName;

    @ApiModelProperty(value = "模板创建人",name = "createUserName")
    private String creator;

    @ApiModelProperty(value = "消息模板状态", name = "Y-启用 N-禁用")
    private String isEnabled;

    @ApiModelProperty(value = "模板类型")
    private String busType;

    @ApiModelProperty(value = "查询开始时间", name = "beginTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date beginTime;

    @ApiModelProperty(value = "查询结束时间", name = "endTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    @ApiModelProperty(value = "归属部门", name = "ownerDept")
    private String ownerDept;

    @ApiModelProperty(value = "审批状态 0未处理，1已处理/同意 -1 拒绝", name = "auditStatus")
    private Integer auditStatus;

   /* @ApiModelProperty(value = "模板ID", name = "templateId")
    private String templateId;*/

    @ApiModelProperty(value = "创建时间排序", example = "DESC-倒叙 ASC-正序")
    private String orderBy;

    @ApiModelProperty(value = "是否逻辑删除 Y-已删除 N-未删除")
    private String isDeleted;

    @ApiModelProperty(value = "租户code列表", name = "tenantCodeList")
    private List<String> tenantCodeList;
}
